/*
 * Copyright 2016-2017 TVI Go Easy.
 * Created on 2017/4/27 23:56
 */
package org.mechanic.fund.service.product;

import org.mechanic.fund.domain.system.manager.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

import java.util.List;
import java.util.Map;

/**
 * 用户信息服务接口
 *
 * @author mechanic
 * @version 0.0.1
 */
public interface IUserService {
    /**
     * 返回匹配用户编号的用户信息
     *
     * @param id 用户编号
     * @return 用户信息
     */
    User findById(String id);

    /**
     * 返回匹配登录账号的用户信息
     *
     * @param account 登录账号
     * @return 用户信息
     */
    User findByAccount(String account);

    /**
     * 返回用户信息分页列表
     *
     * @param pageRequest  分页信息
     * @return 用户信息分页列表
     */
    Page<User> getList(PageRequest pageRequest);

    /**
     * 删除匹配用户编号的用户信息
     *
     * @param id 用户编号
     */
    void delete(String id);

    /**
     * 批量保存用户信息
     *
     * @param users 用户信息集合
     * @param operationUserId 操作该记录的用户主键编号
     */
    void save(List<User> users, String operationUserId);

    /**
     * 保存用户信息
     *
     * @param user 用户信息
     * @param operationUserId 操作该记录的用户主键编号
     */
    Map save(User user, String operationUserId);
}
